home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 2
/
AACD 2.iso
/
AACD
/
Magazine
/
GraphicsCards
/
StormMesa
/
src
/
enable.s
< prev
next >
Wrap
Text File
|
1999-02-04
|
30KB
|
2,030 lines
; Storm C Compiler
; Work2:Mesa3/Mesa-3.0/src/enable.c
mc68030
mc68881
XREF _gl_set_color_function
XREF _gl_set_material
XREF _gl_error
XREF _gl_warning
XREF _CC
SECTION "_gl_enable:0",CODE
;static void gl_enable( GLcontext* ctx, GLenum cap, GLboolean state )
_gl_enable
L341 EQU -$20
link a5,#L341
movem.l d2/d3/a2,-(a7)
move.b $10(a5),d0
move.l $C(a5),d2
move.l $8(a5),a2
L185
; GLuint texSet = ctx->Texture.CurrentSet;
move.l a2,a0
add.l #$DEBA,a0
move.l (a0),d1
; if (INSIDE_BEGIN_END(ctx))
move.l a2,a0
add.l #$E968,a0
move.l (a0),d3
cmp.l #$1A00,d3
beq.b L190
L186
; if (state)
tst.b d0
beq.b L188
L187
; gl_error( ctx, GL_INVALID_OPERATION, "glEnable" );
move.l #L181,-(a7)
pea $502.w
move.l a2,-(a7)
jsr _gl_error
add.w #$C,a7
bra.b L189
L188
; gl_error( ctx, GL_INVALID_OPERATION, "glDisable" );
move.l #L182,-(a7)
pea $502.w
move.l a2,-(a7)
jsr _gl_error
add.w #$C,a7
L189
movem.l (a7)+,d2/d3/a2
unlk a5
rts
L190
; switch (cap)
move.l d2,d3
cmp.l #$DB2,d3
beq L257
bgt L342
cmp.l #$C11,d3
beq L284
bgt L343
cmp.l #$B60,d3
beq L227
bgt.b L344
cmp.l #$B42,d3
beq L271
bgt.b L345
cmp.l #$B24,d3
beq L237
bgt.b L346
cmp.l #$B10,d3
beq L265
cmp.l #$B20,d3
beq L234
bra L336
L346
cmp.l #$B41,d3
beq L268
bra L336
L345
cmp.l #$B50,d3
beq L231
bgt.b L347
cmp.l #$B44,d3
beq L213
bra L336
L347
cmp.l #$B57,d3
beq L208
bra L336
L344
cmp.l #$BD0,d3
beq L222
bgt.b L348
cmp.l #$BA1,d3
beq L264
bgt.b L349
cmp.l #$B71,d3
beq L216
cmp.l #$B90,d3
beq L290
bra L336
L349
cmp.l #$BC0,d3
beq L191
bra L336
L348
cmp.l #$BF1,d3
beq L240
bgt.b L350
cmp.l #$BE2,d3
beq L195
bra L336
L350
cmp.l #$BF2,d3
beq L243
bra L336
L343
cmp.l #$D93,d3
beq L249
bgt.b L351
cmp.l #$D80,d3
beq L194
bgt.b L352
cmp.l #$C62,d3
beq L318
bgt.b L353
cmp.l #$C60,d3
beq L322
cmp.l #$C61,d3
beq L326
bra L336
L353
cmp.l #$C63,d3
beq L314
bra L336
L352
cmp.l #$D91,d3
beq L247
bgt.b L354
cmp.l #$D90,d3
beq L246
bra L336
L354
bgt L248
L351
cmp.l #$D97,d3
beq L253
bgt.b L355
cmp.l #$D95,d3
beq L251
bgt.b L356
blt L250
L356
bgt L252
L355
cmp.l #$DB0,d3
beq L255
bgt.b L357
cmp.l #$D98,d3
beq L254
bra L336
L357
bgt L256
L342
cmp.l #$4001,d3
beq L230
bgt L358
cmp.l #$2A01,d3
beq L274
bgt.b L359
cmp.l #$DB7,d3
beq L262
bgt.b L360
cmp.l #$DB5,d3
beq L260
bgt.b L361
cmp.l #$DB3,d3
beq L258
cmp.l #$DB4,d3
beq L259
bra L336
L361
bgt L261
L360
cmp.l #$DE0,d3
beq L296
bgt.b L362
cmp.l #$DB8,d3
beq L263
bra L336
L362
cmp.l #$DE1,d3
beq L302
bra L336
L359
cmp.l #$3003,d3
beq L202
bgt.b L363
cmp.l #$3001,d3
beq L202
bgt.b L364
cmp.l #$2A02,d3
beq L277
cmp.l #$3000,d3
beq L202
bra L336
L364
bgt L202
L363
cmp.l #$3005,d3
beq L202
bgt.b L365
blt L202
L365
cmp.l #$4000,d3
beq L230
bra L336
L358
cmp.l #$806F,d3
beq L308
bgt.b L366
cmp.l #$4006,d3
beq L230
bgt.b L367
cmp.l #$4004,d3
beq L230
bgt.b L368
cmp.l #$4002,d3
beq L230
cmp.l #$4003,d3
beq L230
bra L336
L368
bgt L230
L367
cmp.l #$8037,d3
beq L280
bgt.b L369
cmp.l #$4007,d3
beq L230
bra L336
L369
cmp.l #$803A,d3
beq L283
bra L336
L366
cmp.l #$8077,d3
beq L333
bgt.b L370
cmp.l #$8075,d3
beq L331
bgt.b L371
cmp.l #$8074,d3
beq L330
bra L336
L371
bgt L332
L370
cmp.l #$8079,d3
beq L335
bgt.b L372
blt L334
L372
cmp.l #$81FB,d3
beq L287
bra L336
;
L191
; if (ctx->Color.AlphaEnabled!=state)
move.b $21E6(a2),d1
cmp.b d0,d1
beq L340
L192
; ctx->Color.AlphaEnabled = state;
move.b d0,$21E6(a2)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L193
;
bra L340
L194
; ctx->Eval.AutoNormal = state;
move.b d0,$22B8(a2)
;
bra L340
L195
; if (ctx->Color.BlendEnabled!=state)
move.b $21ED(a2),d1
cmp.b d0,d1
beq L340
L196
; ctx->Color.BlendEnabled = state;
move.b d0,$21ED(a2)
; if (ctx->Color.BlendEquation==GL_LOGIC_OP && state)
move.l $21F6(a2),d1
cmp.l #$BF1,d1
bne.b L199
L197
tst.b d0
beq.b L199
L198
; ctx->Color.ColorLogicOpEnabled = GL_TRUE;
move.b #1,$2213(a2)
bra.b L200
L199
; ctx->Color.ColorLogicOpEnabled = GL_FALSE;
clr.b $2213(a2)
L200
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L201
;
bra L340
L202
; ctx->Transform.ClipEnabled[cap-GL_CLIP_PLANE0] = state;
move.l a2,a0
add.l #$E536,a0
lea -$3000(a0),a0
move.b d0,0(a0,d2.l)
; ctx->Transform.AnyClip = GL_FALSE;
move.l a2,a0
add.l #$E53C,a0
clr.b (a0)
; for (p=0;
moveq #0,d0
bra.b L206
L203
; if (ctx->Transform.ClipEnabled[p])
move.l a2,a0
add.l #$E536,a0
tst.b 0(a0,d0.l)
beq.b L205
L204
; ctx->Transform.AnyClip = GL_TRUE;
move.l a2,a0
add.l #$E53C,a0
move.b #1,(a0)
;
bra L340
L205
addq.l #1,d0
L206
cmp.l #6,d0
blo.b L203
L207
;
bra L340
L208
; if (ctx->Light.ColorMaterialEnabled!=state)
lea $2318(a2),a0
add.l #$8E18,a0
move.b (a0),d1
cmp.b d0,d1
beq L340
L209
; ctx->Light.ColorMaterialEnabled = state;
move.l a2,a0
add.l #$B130,a0
move.b d0,(a0)
; if (state)
beq L211
L210
; color[0] = ctx->Current.ByteColor[0] * (1.0F / 255.0
moveq #0,d0
move.b $2216(a2),d0
fmove.l d0,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,-$18(a5)
; color[1] = ctx->Current.ByteColor[1] * (1.0F / 255.0
lea $2216(a2),a0
moveq #0,d0
move.b 1(a0),d0
fmove.l d0,fp0
fmul.s #$.3B808080,fp0
lea -$18(a5),a0
fmove.s fp0,4(a0)
; color[2] = ctx->Current.ByteColor[2] * (1.0F / 255.0
lea $2216(a2),a0
moveq #0,d0
move.b 2(a0),d0
fmove.l d0,fp0
fmul.s #$.3B808080,fp0
lea -$18(a5),a0
fmove.s fp0,$8(a0)
; color[3] = ctx->Current.ByteColor[3] * (1.0F / 255.0
lea $2216(a2),a0
moveq #0,d0
move.b 3(a0),d0
fmove.l d0,fp0
fmul.s #$.3B808080,fp0
lea -$18(a5),a0
fmove.s fp0,$C(a0)
; gl_set_material( ctx, ctx->Light.ColorMaterialBitmas
pea -$18(a5)
lea $2318(a2),a0
add.l #$8E14,a0
move.l (a0),-(a7)
move.l a2,-(a7)
jsr _gl_set_material
add.w #$C,a7
L211
; gl_set_color_function(ctx);
move.l a2,-(a7)
jsr _gl_set_color_function
addq.w #4,a7
; ctx->NewState |= NEW_LIGHTING;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #1,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L212
;
bra L340
L213
; if (ctx->Polygon.CullFlag!=state)
move.l a2,a0
add.l #$DDEE,a0
move.b $D(a0),d1
cmp.b d0,d1
beq L340
L214
; ctx->Polygon.CullFlag = state;
move.l a2,a0
add.l #$DDFB,a0
move.b d0,(a0)
; ctx->NewState |= NEW_POLYGON;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #$8,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L215
;
bra L340
L216
; if (state && ctx->Visual->DepthBits==0)
tst.b d0
beq.b L219
L217
move.l $8F8(a2),a0
tst.l $1C(a0)
bne.b L219
L218
; gl_warning(ctx,"glEnable(GL_DEPTH_TEST) but no depth buffe
move.l #L183,-(a7)
move.l a2,-(a7)
jsr _gl_warning
addq.w #$8,a7
movem.l (a7)+,d2/d3/a2
unlk a5
rts
L219
; if (ctx->Depth.Test!=state)
move.b $22A4(a2),d1
cmp.b d0,d1
beq L340
L220
; ctx->Depth.Test = state;
move.b d0,$22A4(a2)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L221
;
bra L340
L222
; if (ctx->NoDither)
move.l a2,a0
add.l #$E99D,a0
tst.b (a0)
beq.b L224
L223
; state = GL_FALSE;
moveq #0,d0
L224
; if (ctx->Color.DitherFlag!=state)
move.b $2215(a2),d1
cmp.b d0,d1
beq L340
L225
; ctx->Color.DitherFlag = state;
move.b d0,$2215(a2)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L226
;
bra L340
L227
; if (ctx->Fog.Enabled!=state)
move.b $22DE(a2),d1
cmp.b d0,d1
beq L340
L228
; ctx->Fog.Enabled = state;
move.b d0,$22DE(a2)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L229
;
bra L340
L230
; ctx->Light.Light[cap-GL_LIGHT0].Enabled = state;
lea $2318(a2),a0
sub.l #$4388000,a0
muls.l #$10E2,d2
move.b d0,$68(a0,d2.l)
; ctx->NewState |= NEW_LIGHTING;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #1,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
;
bra L340
L231
; if (ctx->Light.Enabled!=state)
lea $2318(a2),a0
add.l #$8E06,a0
move.b (a0),d1
cmp.b d0,d1
beq L340
L232
; ctx->Light.Enabled = state;
move.l a2,a0
add.l #$B11E,a0
move.b d0,(a0)
; ctx->NewState |= NEW_LIGHTING;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #1,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L233
;
bra L340
L234
; if (ctx->Line.SmoothFlag!=state)
move.l a2,a0
add.l #$B158,a0
move.b (a0),d1
cmp.b d0,d1
beq L340
L235
; ctx->Line.SmoothFlag = state;
move.l a2,a0
add.l #$B158,a0
move.b d0,(a0)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L236
;
bra L340
L237
; if (ctx->Line.StippleFlag!=state)
move.l a2,a0
add.l #$B158,a0
move.b 1(a0),d1
cmp.b d0,d1
beq L340
L238
; ctx->Line.StippleFlag = state;
move.l a2,a0
add.l #$B159,a0
move.b d0,(a0)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L239
;
bra L340
L240
; if (ctx->Color.IndexLogicOpEnabled!=state)
move.b $2212(a2),d1
cmp.b d0,d1
beq.b L242
L241
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d1
or.l #2,d1
move.l a2,a0
add.l #$E960,a0
move.l d1,(a0)
L242
; ctx->Color.IndexLogicOpEnabled = state;
move.b d0,$2212(a2)
;
bra L340
L243
; if (ctx->Color.ColorLogicOpEnabled!=state)
move.b $2213(a2),d1
cmp.b d0,d1
beq.b L245
L244
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d1
or.l #2,d1
move.l a2,a0
add.l #$E960,a0
move.l d1,(a0)
L245
; ctx->Color.ColorLogicOpEnabled = state;
move.b d0,$2213(a2)
;
bra L340
L246
; ctx->Eval.Map1Color4 = state;
move.b d0,$22A6(a2)
;
bra L340
L247
; ctx->Eval.Map1Index = state;
move.b d0,$22A7(a2)
;
bra L340
L248
; ctx->Eval.Map1Normal = state;
move.b d0,$22A8(a2)
;
bra L340
L249
; ctx->Eval.Map1TextureCoord1 = state;
move.b d0,$22A9(a2)
;
bra L340
L250
; ctx->Eval.Map1TextureCoord2 = state;
move.b d0,$22AA(a2)
;
bra L340
L251
; ctx->Eval.Map1TextureCoord3 = state;
move.b d0,$22AB(a2)
;
bra L340
L252
; ctx->Eval.Map1TextureCoord4 = state;
move.b d0,$22AC(a2)
;
bra L340
L253
; ctx->Eval.Map1Vertex3 = state;
move.b d0,$22AD(a2)
;
bra L340
L254
; ctx->Eval.Map1Vertex4 = state;
move.b d0,$22AE(a2)
;
bra L340
L255
; ctx->Eval.Map2Color4 = state;
move.b d0,$22AF(a2)
;
bra L340
L256
; ctx->Eval.Map2Index = state;
move.b d0,$22B0(a2)
;
bra L340
L257
; ctx->Eval.Map2Normal = state;
move.b d0,$22B1(a2)
;
bra L340
L258
; ctx->Eval.Map2TextureCoord1 = state;
move.b d0,$22B2(a2)
;
bra L340
L259
; ctx->Eval.Map2TextureCoord2 = state;
move.b d0,$22B3(a2)
;
bra L340
L260
; ctx->Eval.Map2TextureCoord3 = state;
move.b d0,$22B4(a2)
;
bra L340
L261
; ctx->Eval.Map2TextureCoord4 = state;
move.b d0,$22B5(a2)
;
bra L340
L262
; ctx->Eval.Map2Vertex3 = state;
move.b d0,$22B6(a2)
;
bra L340
L263
; ctx->Eval.Map2Vertex4 = state;
move.b d0,$22B7(a2)
;
bra L340
L264
; ctx->Transform.Normalize = state;
move.l a2,a0
add.l #$E53D,a0
move.b d0,(a0)
;
bra L340
L265
; if (ctx->Point.SmoothFlag!=state)
move.l a2,a0
add.l #$DDD0,a0
move.b (a0),d1
cmp.b d0,d1
beq L340
L266
; ctx->Point.SmoothFlag = state;
move.l a2,a0
add.l #$DDD0,a0
move.b d0,(a0)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L267
;
bra L340
L268
; if (ctx->Polygon.SmoothFlag!=state)
move.l a2,a0
add.l #$DDEE,a0
move.b $16(a0),d1
cmp.b d0,d1
beq L340
L269
; ctx->Polygon.SmoothFlag = state;
move.l a2,a0
add.l #$DE04,a0
move.b d0,(a0)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L270
;
bra L340
L271
; if (ctx->Polygon.StippleFlag!=state)
move.l a2,a0
add.l #$DDEE,a0
move.b $17(a0),d1
cmp.b d0,d1
beq L340
L272
; ctx->Polygon.StippleFlag = state;
move.l a2,a0
add.l #$DE05,a0
move.b d0,(a0)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L273
;
bra L340
L274
; if (ctx->Polygon.OffsetPoint!=state)
move.l a2,a0
add.l #$DDEE,a0
move.b $20(a0),d1
cmp.b d0,d1
beq L340
L275
; ctx->Polygon.OffsetPoint = state;
move.l a2,a0
add.l #$DE0E,a0
move.b d0,(a0)
; ctx->NewState |= NEW_POLYGON;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #$8,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L276
;
bra L340
L277
; if (ctx->Polygon.OffsetLine!=state)
move.l a2,a0
add.l #$DDEE,a0
move.b $21(a0),d1
cmp.b d0,d1
beq L340
L278
; ctx->Polygon.OffsetLine = state;
move.l a2,a0
add.l #$DE0F,a0
move.b d0,(a0)
; ctx->NewState |= NEW_POLYGON;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #$8,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L279
;
bra L340
L280
; if (ctx->Polygon.OffsetFill!=state)
move.l a2,a0
add.l #$DDEE,a0
move.b $22(a0),d1
cmp.b d0,d1
beq L340
L281
; ctx->Polygon.OffsetFill = state;
move.l a2,a0
add.l #$DE10,a0
move.b d0,(a0)
; ctx->NewState |= NEW_POLYGON;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #$8,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L282
;
bra L340
L283
; ctx->Transform.RescaleNormals = state;
move.l a2,a0
add.l #$E53E,a0
move.b d0,(a0)
;
bra L340
L284
; if (ctx->Scissor.Enabled!=state)
move.l a2,a0
add.l #$DE92,a0
move.b (a0),d1
cmp.b d0,d1
beq L340
L285
; ctx->Scissor.Enabled = state;
move.l a2,a0
add.l #$DE92,a0
move.b d0,(a0)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L286
;
bra L340
L287
; ctx->Texture.SharedPalette = state;
move.l a2,a0
add.l #$E04C,a0
move.b d0,(a0)
; if (ctx->Driver.UseGlobalTexturePalette)
tst.l $9E0(a2)
beq L340
L288
; (*ctx->Driver.UseGlobalTexturePalette)( ctx, state );
move.b d0,-(a7)
move.l a2,-(a7)
move.l $9E0(a2),a0
jsr (a0)
addq.w #6,a7
L289
;
bra L340
L290
; if (state && ctx->Visual->StencilBits==0)
tst.b d0
beq.b L293
L291
move.l $8F8(a2),a0
tst.l $20(a0)
bne.b L293
L292
; gl_warning(ctx, "glEnable(GL_STENCIL_TEST) but no stencil
move.l #L184,-(a7)
move.l a2,-(a7)
jsr _gl_warning
addq.w #$8,a7
movem.l (a7)+,d2/d3/a2
unlk a5
rts
L293
; if (ctx->Stencil.Enabled!=state)
move.l a2,a0
add.l #$DEA4,a0
move.b (a0),d1
cmp.b d0,d1
beq L340
L294
; ctx->Stencil.Enabled = state;
move.l a2,a0
add.l #$DEA4,a0
move.b d0,(a0)
; ctx->NewState |= NEW_RASTER_OPS;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #2,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L295
;
bra L340
L296
; if (ctx->Visual->RGBAflag)
move.l $8F8(a2),a0
tst.b (a0)
beq L340
L297
; GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
move.l a2,a0
add.l #$DEBA,a0
move.l (a0),d1
moveq #2,d2
asl.l d2,d1
moveq #1,d2
asl.l d1,d2
move.l d2,d1
; if (state)
tst.b d0
beq.b L299
L298
; ctx->Texture.Enabled |= bit;
move.l a2,a0
add.l #$DEC2,a0
move.l (a0),d0
or.l d1,d0
move.l a2,a0
add.l #$DEC2,a0
move.l d0,(a0)
bra.b L300
L299
; ctx->Texture.Enabled &= (~bit);
not.l d1
move.l a2,a0
add.l #$DEC2,a0
move.l (a0),d0
and.l d1,d0
move.l a2,a0
add.l #$DEC2,a0
move.l d0,(a0)
L300
; ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #6,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L301
;
bra L340
L302
; if (ctx->Visual->RGBAflag)
move.l $8F8(a2),a0
tst.b (a0)
beq L340
L303
; GLuint bit = TEXTURE0_2D << (ctx->Texture.CurrentSet * 4);
move.l a2,a0
add.l #$DEBA,a0
move.l (a0),d1
moveq #2,d2
asl.l d2,d1
moveq #2,d2
asl.l d1,d2
move.l d2,d1
; if (state)
tst.b d0
beq.b L305
L304
; ctx->Texture.Enabled |= bit;
move.l a2,a0
add.l #$DEC2,a0
move.l (a0),d0
or.l d1,d0
move.l a2,a0
add.l #$DEC2,a0
move.l d0,(a0)
bra.b L306
L305
; ctx->Texture.Enabled &= (~bit);
not.l d1
move.l a2,a0
add.l #$DEC2,a0
move.l (a0),d0
and.l d1,d0
move.l a2,a0
add.l #$DEC2,a0
move.l d0,(a0)
L306
; ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #6,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L307
;
bra L340
L308
; if (ctx->Visual->RGBAflag)
move.l $8F8(a2),a0
tst.b (a0)
beq L340
L309
; GLuint bit = TEXTURE0_3D << (ctx->Texture.CurrentSet * 4);
move.l a2,a0
add.l #$DEBA,a0
move.l (a0),d1
moveq #2,d2
asl.l d2,d1
moveq #4,d2
asl.l d1,d2
move.l d2,d1
; if (state)
tst.b d0
beq.b L311
L310
; ctx->Texture.Enabled |= bit;
move.l a2,a0
add.l #$DEC2,a0
move.l (a0),d0
or.l d1,d0
move.l a2,a0
add.l #$DEC2,a0
move.l d0,(a0)
bra.b L312
L311
; ctx->Texture.Enabled &= (~bit);
not.l d1
move.l a2,a0
add.l #$DEC2,a0
move.l (a0),d0
and.l d1,d0
move.l a2,a0
add.l #$DEC2,a0
move.l d0,(a0)
L312
; ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #6,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
L313
;
bra L340
L314
; if (state)
tst.b d0
beq.b L316
L315
; ctx->Texture.Set[texSet].TexGenEnabled |= Q_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
or.l #$8,$14(a0)
bra.b L317
L316
; ctx->Texture.Set[texSet].TexGenEnabled &= ~Q_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
and.l #-$9,$14(a0)
L317
; ctx->NewState |= NEW_TEXTURING;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #4,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
;
bra L340
L318
; if (state)
tst.b d0
beq.b L320
L319
; ctx->Texture.Set[texSet].TexGenEnabled |= R_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
or.l #4,$14(a0)
bra.b L321
L320
; ctx->Texture.Set[texSet].TexGenEnabled &= ~R_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
and.l #-5,$14(a0)
L321
; ctx->NewState |= NEW_TEXTURING;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #4,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
;
bra L340
L322
; if (state)
tst.b d0
beq L324
L323
; ctx->Texture.Set[texSet].TexGenEnabled |= S_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
or.l #1,$14(a0)
bra.b L325
L324
; ctx->Texture.Set[texSet].TexGenEnabled &= ~S_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
and.l #-2,$14(a0)
L325
; ctx->NewState |= NEW_TEXTURING;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #4,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
;
bra L340
L326
; if (state)
tst.b d0
beq L328
L327
; ctx->Texture.Set[texSet].TexGenEnabled |= T_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
or.l #2,$14(a0)
bra L329
L328
; ctx->Texture.Set[texSet].TexGenEnabled &= ~T_BIT;
move.l a2,a0
add.l #$DEC6,a0
muls.l #$BC,d1
add.l d1,a0
and.l #-3,$14(a0)
L329
; ctx->NewState |= NEW_TEXTURING;
move.l a2,a0
add.l #$E960,a0
move.l (a0),d0
or.l #4,d0
move.l a2,a0
add.l #$E960,a0
move.l d0,(a0)
;
bra L340
L330
; ctx->Array.VertexEnabled = state;
move.l a2,a0
add.l #$E5CC,a0
move.b d0,(a0)
;
bra L340
L331
; ctx->Array.NormalEnabled = state;
move.l a2,a0
add.l #$E5DE,a0
move.b d0,(a0)
;
bra L340
L332
; ctx->Array.ColorEnabled = state;
move.l a2,a0
add.l #$E5F4,a0
move.b d0,(a0)
;
bra L340
L333
; ctx->Array.IndexEnabled = state;
move.l a2,a0
add.l #$E606,a0
move.b d0,(a0)
;
bra L340
L334
; ctx->Array.TexCoordEnabled[texSet] = state;
move.l a2,a0
add.l #$E630,a0
move.b d0,0(a0,d1.l)
;
bra L340
L335
; ctx->Array.EdgeFlagEnabled = state;
move.l a2,a0
add.l #$E642,a0
move.b d0,(a0)
;
bra L340
L336
; if (state)
tst.b d0
beq L338
L337
; gl_error( ctx, GL_INVALID_ENUM, "glEnable" );
move.l #L181,-(a7)
pea $500.w
move.l a2,-(a7)
jsr _gl_error
add.w #$C,a7
bra.b L340
L338
; gl_error( ctx, GL_INVALID_ENUM, "glDisable" );
move.l #L182,-(a7)
pea $500.w
move.l a2,-(a7)
jsr _gl_error
add.w #$C,a7
L339
;
L340
movem.l (a7)+,d2/d3/a2
unlk a5
rts
L182
dc.b 'glDisable',0
L181
dc.b 'glEnable',0
L183
dc.b 'glEnable(GL_DEPTH_TEST) but no depth buffer',0
L184
dc.b 'glEnable(GL_STENCIL_TEST) but no stencil buffer',0
SECTION "_gl_Enable:0",CODE
rts
;void gl_Enable( GLcontext* ctx, GLenum cap )
XDEF _gl_Enable
_gl_Enable
move.l $8(a7),d0
move.l 4(a7),a0
L373
; gl_enable( ctx, cap, GL_TRUE );
move.b #1,-(a7)
move.l d0,-(a7)
move.l a0,-(a7)
jsr _gl_enable
add.w #$A,a7
rts
SECTION "_gl_Disable:0",CODE
;void gl_Disable( GLcontext* ctx, GLenum cap )
XDEF _gl_Disable
_gl_Disable
move.l $8(a7),d0
move.l 4(a7),a0
L374
; gl_enable( ctx, cap, GL_FALSE );
clr.b -(a7)
move.l d0,-(a7)
move.l a0,-(a7)
jsr _gl_enable
add.w #$A,a7
rts
SECTION "_gl_IsEnabled:0",CODE
;GLboolean gl_IsEnabled( GLcontext* ctx, GLenum cap )
XDEF _gl_IsEnabled
_gl_IsEnabled
move.l $8(a7),d0
move.l 4(a7),a0
L376
; switch (cap)
move.l d0,d1
cmp.l #$DB2,d1
beq L403
bgt L456
cmp.l #$C11,d1
beq L418
bgt L457
cmp.l #$B60,d1
beq L385
bgt.b L458
cmp.l #$B42,d1
beq L413
bgt.b L459
cmp.l #$B24,d1
beq L389
bgt.b L460
cmp.l #$B10,d1
beq L411
cmp.l #$B20,d1
beq L388
bra L455
L460
cmp.l #$B41,d1
beq L412
bra L455
L459
cmp.l #$B50,d1
beq L386
bgt.b L461
cmp.l #$B44,d1
beq L382
bra L455
L461
cmp.l #$B57,d1
beq L381
bra L455
L458
cmp.l #$BD0,d1
beq L384
bgt.b L462
cmp.l #$BA1,d1
beq L410
bgt.b L463
cmp.l #$B71,d1
beq L383
cmp.l #$B90,d1
beq L420
bra L455
L463
cmp.l #$BC0,d1
beq L377
bra L455
L462
cmp.l #$BF1,d1
beq L390
bgt.b L464
cmp.l #$BE2,d1
beq L379
bra L455
L464
cmp.l #$BF2,d1
beq L391
bra L455
L457
cmp.l #$D93,d1
beq L395
bgt.b L465
cmp.l #$D80,d1
beq L378
bgt.b L466
cmp.l #$C62,d1
beq L437
bgt.b L467
cmp.l #$C60,d1
beq L441
cmp.l #$C61,d1
beq L445
bra L455
L467
cmp.l #$C63,d1
beq L433
bra L455
L466
cmp.l #$D91,d1
beq L393
bgt.b L468
cmp.l #$D90,d1
beq L392
bra L455
L468
bgt L394
L465
cmp.l #$D97,d1
beq L399
bgt.b L469
cmp.l #$D95,d1
beq L397
bgt.b L470
blt L396
L470
bgt L398
L469
cmp.l #$DB0,d1
beq L401
bgt.b L471
cmp.l #$D98,d1
beq L400
bra L455
L471
bgt L402
L456
cmp.l #$4001,d1
beq L387
bgt L472
cmp.l #$2A01,d1
beq L414
bgt.b L473
cmp.l #$DB7,d1
beq L408
bgt.b L474
cmp.l #$DB5,d1
beq L406
bgt.b L475
cmp.l #$DB3,d1
beq L404
cmp.l #$DB4,d1
beq L405
bra L455
L475
bgt L407
L474
cmp.l #$DE0,d1
beq L421
bgt.b L476
cmp.l #$DB8,d1
beq L409
bra L455
L476
cmp.l #$DE1,d1
beq L425
bra L455
L473
cmp.l #$3003,d1
beq L380
bgt.b L477
cmp.l #$3001,d1
beq L380
bgt.b L478
cmp.l #$2A02,d1
beq L415
cmp.l #$3000,d1
beq L380
bra L455
L478
bgt L380
L477
cmp.l #$3005,d1
beq L380
bgt.b L479
blt L380
L479
cmp.l #$4000,d1
beq L387
bra L455
L472
cmp.l #$806F,d1
beq L429
bgt.b L480
cmp.l #$4006,d1
beq L387
bgt.b L481
cmp.l #$4004,d1
beq L387
bgt.b L482
cmp.l #$4002,d1
beq L387
cmp.l #$4003,d1
beq L387
bra L455
L482
bgt L387
L481
cmp.l #$8037,d1
beq L416
bgt.b L483
cmp.l #$4007,d1
beq L387
bra L455
L483
cmp.l #$803A,d1
beq L417
bra L455
L480
cmp.l #$8077,d1
beq L452
bgt.b L484
cmp.l #$8075,d1
beq L450
bgt.b L485
cmp.l #$8074,d1
beq L449
bra L455
L485
bgt L451
L484
cmp.l #$8079,d1
beq L454
bgt.b L486
blt L453
L486
cmp.l #$81FB,d1
beq L419
bra L455
;
L377
move.b $21E6(a0),d0
rts
L378
move.b $22B8(a0),d0
rts
L379
move.b $21ED(a0),d0
rts
L380
add.l #$E536,a0
lea -$3000(a0),a0
move.b 0(a0,d0.l),d0
rts
L381
add.w #$2318,a0
add.l #$8E18,a0
move.b (a0),d0
rts
L382
add.l #$DDEE,a0
move.b $D(a0),d0
rts
L383
move.b $22A4(a0),d0
rts
L384
move.b $2215(a0),d0
rts
L385
move.b $22DE(a0),d0
rts
L386
add.w #$2318,a0
add.l #$8E06,a0
move.b (a0),d0
rts
L387
lea $2318(a0),a0
sub.l #$4388000,a0
muls.l #$10E2,d0
move.b $68(a0,d0.l),d0
rts
L388
add.l #$B158,a0
move.b (a0),d0
rts
L389
add.l #$B158,a0
move.b 1(a0),d0
rts
L390
move.b $2212(a0),d0
rts
L391
move.b $2213(a0),d0
rts
L392
move.b $22A6(a0),d0
rts
L393
move.b $22A7(a0),d0
rts
L394
move.b $22A8(a0),d0
rts
L395
move.b $22A9(a0),d0
rts
L396
move.b $22AA(a0),d0
rts
L397
move.b $22AB(a0),d0
rts
L398
move.b $22AC(a0),d0
rts
L399
move.b $22AD(a0),d0
rts
L400
move.b $22AE(a0),d0
rts
L401
move.b $22AF(a0),d0
rts
L402
move.b $22B0(a0),d0
rts
L403
move.b $22B1(a0),d0
rts
L404
move.b $22B2(a0),d0
rts
L405
move.b $22B3(a0),d0
rts
L406
move.b $22B4(a0),d0
rts
L407
move.b $22B5(a0),d0
rts
L408
move.b $22B6(a0),d0
rts
L409
move.b $22B7(a0),d0
rts
L410
add.l #$E4D2,a0
move.b $6B(a0),d0
rts
L411
add.l #$DDD0,a0
move.b (a0),d0
rts
L412
add.l #$DDEE,a0
move.b $16(a0),d0
rts
L413
add.l #$DDEE,a0
move.b $17(a0),d0
rts
L414
add.l #$DDEE,a0
move.b $20(a0),d0
rts
L415
add.l #$DDEE,a0
move.b $21(a0),d0
rts
L416
add.l #$DDEE,a0
move.b $22(a0),d0
rts
L417
add.l #$E4D2,a0
move.b $6C(a0),d0
rts
L418
add.l #$DE92,a0
move.b (a0),d0
rts
L419
add.l #$DEBA,a0
move.b $192(a0),d0
rts
L420
add.l #$DEA4,a0
move.b (a0),d0
rts
L421
; GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
move.l a0,a1
add.l #$DEBA,a1
move.l (a1),d0
moveq #2,d1
asl.l d1,d0
moveq #1,d1
asl.l d0,d1
add.l #$DEBA,a0
move.l $8(a0),d0
and.l d1,d0
beq.b L423
L422
moveq #1,d0
bra.b L424
L423
moveq #0,d0
L424
rts
L425
; GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
move.l a0,a1
add.l #$DEBA,a1
move.l (a1),d0
moveq #2,d1
asl.l d1,d0
moveq #1,d1
asl.l d0,d1
add.l #$DEBA,a0
move.l $8(a0),d0
and.l d1,d0
beq.b L427
L426
moveq #1,d0
bra.b L428
L427
moveq #0,d0
L428
rts
L429
; GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
move.l a0,a1
add.l #$DEBA,a1
move.l (a1),d0
moveq #2,d1
asl.l d1,d0
moveq #1,d1
asl.l d0,d1
add.l #$DEBA,a0
move.l $8(a0),d0
and.l d1,d0
beq.b L431
L430
moveq #1,d0
bra.b L432
L431
moveq #0,d0
L432
rts
L433
; const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
move.l a0,a1
add.l #$DEC6,a1
add.l #$DEBA,a0
move.l (a0),d0
muls.l #$BC,d0
move.l $14(a1,d0.l),d0
and.l #$8,d0
beq.b L435
L434
moveq #1,d0
bra.b L436
L435
moveq #0,d0
L436
rts
L437
; const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
move.l a0,a1
add.l #$DEC6,a1
add.l #$DEBA,a0
move.l (a0),d0
muls.l #$BC,d0
move.l $14(a1,d0.l),d0
and.l #4,d0
beq.b L439
L438
moveq #1,d0
bra.b L440
L439
moveq #0,d0
L440
rts
L441
; const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
move.l a0,a1
add.l #$DEC6,a1
add.l #$DEBA,a0
move.l (a0),d0
muls.l #$BC,d0
move.l $14(a1,d0.l),d0
and.l #1,d0
beq.b L443
L442
moveq #1,d0
bra.b L444
L443
moveq #0,d0
L444
rts
L445
; const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
move.l a0,a1
add.l #$DEC6,a1
add.l #$DEBA,a0
move.l (a0),d0
muls.l #$BC,d0
move.l $14(a1,d0.l),d0
and.l #2,d0
beq.b L447
L446
moveq #1,d0
bra.b L448
L447
moveq #0,d0
L448
rts
L449
add.l #$E5B8,a0
move.b $14(a0),d0
rts
L450
add.l #$E5B8,a0
move.b $26(a0),d0
rts
L451
add.l #$E5B8,a0
move.b $3C(a0),d0
rts
L452
add.l #$E5B8,a0
move.b $4E(a0),d0
rts
L453
; GLuint texSet = ctx->Texture.CurrentSet;
move.l a0,a1
add.l #$DEBA,a1
add.l #$E630,a0
move.l (a1),d0
move.b 0(a0,d0.l),d0
rts
L454
add.l #$E5B8,a0
move.b $8A(a0),d0
rts
L455
; gl_error( ctx, GL_INVALID_ENUM, "glIsEnabled" );
move.l #L375,-(a7)
pea $500.w
move.l a0,-(a7)
jsr _gl_error
add.w #$C,a7
moveq #0,d0
rts
L375
dc.b 'glIsEnabled',0
SECTION "_gl_client_state:0",CODE
;void gl_client_state( GLcontext *ctx, GLenum cap, GLboolean state )
XDEF _gl_client_state
_gl_client_state
move.l d2,-(a7)
move.b $10(a7),d0
move.l $C(a7),d1
move.l $8(a7),a0
L488
; switch (cap)
sub.l #$8074,d1
cmp.l #5,d1
bhi.b L495
move.l L497(pc,d1.l*4),a1
jmp (a1)
L497
dc.l L489
dc.l L490
dc.l L491
dc.l L492
dc.l L493
dc.l L494
;
L489
; ctx->Array.VertexEnabled = state;
add.l #$E5CC,a0
move.b d0,(a0)
;
bra.b L496
L490
; ctx->Array.NormalEnabled = state;
add.l #$E5DE,a0
move.b d0,(a0)
;
bra.b L496
L491
; ctx->Array.ColorEnabled = state;
add.l #$E5F4,a0
move.b d0,(a0)
;
bra.b L496
L492
; ctx->Array.IndexEnabled = state;
add.l #$E606,a0
move.b d0,(a0)
;
bra.b L496
L493
; GLuint texSet = ctx->Texture.CurrentSet;
move.l a0,a1
add.l #$DEBA,a1
; ctx->Array.TexCoordEnabled[texSet] = state;
add.l #$E630,a0
move.l (a1),d1
move.b d0,0(a0,d1.l)
;
bra.b L496
L494
; ctx->Array.EdgeFlagEnabled = state;
add.l #$E642,a0
move.b d0,(a0)
;
bra.b L496
L495
; gl_error( ctx, GL_INVALID_ENUM, "glEnable/DisableClientState" );
move.l #L487,-(a7)
pea $500.w
move.l a0,-(a7)
jsr _gl_error
add.w #$C,a7
L496
move.l (a7)+,d2
rts
L487
dc.b 'glEnable/DisableClientState',0
SECTION "_gl_EnableClientState:0",CODE
;void gl_EnableClientState( GLcontext *ctx, GLenum cap )
XDEF _gl_EnableClientState
_gl_EnableClientState
move.l $8(a7),d0
move.l 4(a7),a0
L498
; gl_client_state( ctx, cap, GL_TRUE );
move.b #1,-(a7)
move.l d0,-(a7)
move.l a0,-(a7)
jsr _gl_client_state
add.w #$A,a7
rts
SECTION "_gl_DisableClientState:0",CODE
;void gl_DisableClientState( GLcontext *ctx, GLenum cap )
XDEF _gl_DisableClientState
_gl_DisableClientState
move.l $8(a7),d0
move.l 4(a7),a0
L499
; gl_client_state( ctx, cap, GL_FALSE );
clr.b -(a7)
move.l d0,-(a7)
move.l a0,-(a7)
jsr _gl_client_state
add.w #$A,a7
rts
END